An embedded computing system (or embedded system) may include an electrical system controlled by one or more processors or central processing units (CPUs), as well as memory and input/output (I/O) units. Examples of embedded systems include: household (whiteware) appliances, such as microwaves, dishwashers, ovens, and refrigerators; telecommunication systems such as cordless phones, cell phones, and telephone base stations; automotive systems such as antilock brake systems and engine control systems; entertainment systems such as portable audio players, movie players, and portable gaming devices; industrial systems that include industrial controls; measurement devices; medical devices; and the like.
The software or firmware for these embedded devices (often called target systems or target embedded systems herein) can be quite complex. The software is typically developed on one or multiple development computers or host systems. A debug probe can serve as a connection between the host and target system. One example of a debug probe is the J-Link™ product available from SEGGER Microcontroller GmbH & Co. KG. A debug probe can allow partial or full control of the target system, allowing (among possibly other features): halting and restarting the CPU of the target system, resetting the CPU of the target system, reading and writing registers of the CPU of the target system, reading and writing memory and peripherals of the CPU of the target system, and setting breakpoints for the CPU of the target system.